<?php

class tenap_regiaoModel extends Model{
    protected $tabela = "tenap_regiao";
    protected $pkey   = "cod_regiao";
    protected $dados = array(
        
        'cod_regiao' => array(
           'name'    => "Código da Região",
           'type'    => 'int',
           'notnull' => true,
           'ai'      => true,
           'pkey'    => true,
           'grid'    => true
        ),
        
        'regiao' => array(
            'name'    => 'Região',
            'type'    => 'varchar',
            'size'    => '126',
            'unique'  => array('model' => 'tenap/regiao'),
            'grid'    => true,
            'notnull' => true
        ),
        
        'bairros' => array(
            'name'      => 'Bairros',
            'notnull'   => true, 
            'especial'  => 'hide',
            'fkey'      => array(
                'model' 	=> 'tenap/bairro', 
                'cardinalidade' => 'n1',//nn 1n 11
                'keys'          => array('cod_bairro', 'bairro')
            )
         )
        
    );
    
    public function regioesComObras(){
        $this->LoadModel("tenap/segmento", 'mobj');
        $item = $this->mobj->getItem("Residências", "catnome");
        $id   = $item['cod_categoria'];
                
        $this->db->Join('tenap_regiao', 'tenap_bairro');
        $this->db->Join('tenap_bairro', 'tenap_obra');
        $where = "cod_segmento = '$id'";
        $var = $this->selecionar(array('cod_regiao', 'regiao', 'count(*) as total'), "$where GROUP BY cod_regiao");
        $testarr = array();
        foreach($var as $v){
            $testarr[] = $v['cod_regiao'];
        }
        
        $temp = $this->selecionar(array('cod_regiao', 'regiao'));
        foreach($temp as $t){
            if(!in_array($t['cod_regiao'], $testarr)){
                $t['total'] = '0';
                $var[] = $t;
            }
        }
        //print_r($temp);
        
        //$var = $this->selecionar(array(), "1=1 GROUP BY cod_regiao");
        //echo $this->db->getSentenca();
        //print_r($var);
        return $var;
    }

    public function bairrosunicos($cod_item, $campo = ""){

        $this->PrepareFk();
        $campo = ($campo == "") ?$this->pkey :$campo;
        $campo    = $this->antinjection($campo);
        $cod_item = $this->antinjection($cod_item);
    	$var = $this->selecionar("","`$campo` = '$cod_item'", "1");
        if(empty ($var)) return $var;

    	$var = array_shift($var);
        foreach($this->dados as $name => $value){

            if(array_key_exists("fkey", $value)){
                $this->LoadModel("tenap/segmento", 'mobj');
                $item = $this->mobj->getItem("Residências", "catnome");
                $id   = $item['cod_categoria'];
                $model = $value['fkey']['model'];
                $this->LoadModel($model, "temp_model");
                $card = "fk".$value['fkey']['cardinalidade'];

                $group = "group by cod_bairro";
                $this->db->Join("tenap_bairro", 'tenap_obra');
                $a = array("tenap_bairro.*", "count(cod_bairro) as total");
                $where = "cod_segmento = '$id'";
                $var[$name] = $this->$card->selecionar(@$var[$name], $value['fkey'], $campo, $cod_item, $this->model_name, $a, $where, $group);
            }
        }
        //echo $this->db->getSentenca();
        //print_r($var);
        return $var;
    }
}

?>
